package com.desksoft.ecommerce.entity.mall.dto;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DistlogExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DistlogExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUseridIsNull() {
            addCriterion("UserID is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("UserID is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(String value) {
            addCriterion("UserID =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(String value) {
            addCriterion("UserID <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(String value) {
            addCriterion("UserID >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(String value) {
            addCriterion("UserID >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(String value) {
            addCriterion("UserID <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(String value) {
            addCriterion("UserID <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLike(String value) {
            addCriterion("UserID like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotLike(String value) {
            addCriterion("UserID not like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<String> values) {
            addCriterion("UserID in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<String> values) {
            addCriterion("UserID not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(String value1, String value2) {
            addCriterion("UserID between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(String value1, String value2) {
            addCriterion("UserID not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andDccodeIsNull() {
            addCriterion("DCCode is null");
            return (Criteria) this;
        }

        public Criteria andDccodeIsNotNull() {
            addCriterion("DCCode is not null");
            return (Criteria) this;
        }

        public Criteria andDccodeEqualTo(String value) {
            addCriterion("DCCode =", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeNotEqualTo(String value) {
            addCriterion("DCCode <>", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeGreaterThan(String value) {
            addCriterion("DCCode >", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeGreaterThanOrEqualTo(String value) {
            addCriterion("DCCode >=", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeLessThan(String value) {
            addCriterion("DCCode <", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeLessThanOrEqualTo(String value) {
            addCriterion("DCCode <=", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeLike(String value) {
            addCriterion("DCCode like", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeNotLike(String value) {
            addCriterion("DCCode not like", value, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeIn(List<String> values) {
            addCriterion("DCCode in", values, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeNotIn(List<String> values) {
            addCriterion("DCCode not in", values, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeBetween(String value1, String value2) {
            addCriterion("DCCode between", value1, value2, "dccode");
            return (Criteria) this;
        }

        public Criteria andDccodeNotBetween(String value1, String value2) {
            addCriterion("DCCode not between", value1, value2, "dccode");
            return (Criteria) this;
        }

        public Criteria andDemandhnoIsNull() {
            addCriterion("DemandHNo is null");
            return (Criteria) this;
        }

        public Criteria andDemandhnoIsNotNull() {
            addCriterion("DemandHNo is not null");
            return (Criteria) this;
        }

        public Criteria andDemandhnoEqualTo(String value) {
            addCriterion("DemandHNo =", value, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoNotEqualTo(String value) {
            addCriterion("DemandHNo <>", value, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoGreaterThan(String value) {
            addCriterion("DemandHNo >", value, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoGreaterThanOrEqualTo(String value) {
            addCriterion("DemandHNo >=", value, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoLessThan(String value) {
            addCriterion("DemandHNo <", value, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoLessThanOrEqualTo(String value) {
            addCriterion("DemandHNo <=", value, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoLike(String value) {
            addCriterion("DemandHNo like", value, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoNotLike(String value) {
            addCriterion("DemandHNo not like", value, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoIn(List<String> values) {
            addCriterion("DemandHNo in", values, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoNotIn(List<String> values) {
            addCriterion("DemandHNo not in", values, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoBetween(String value1, String value2) {
            addCriterion("DemandHNo between", value1, value2, "demandhno");
            return (Criteria) this;
        }

        public Criteria andDemandhnoNotBetween(String value1, String value2) {
            addCriterion("DemandHNo not between", value1, value2, "demandhno");
            return (Criteria) this;
        }

        public Criteria andClientcodeIsNull() {
            addCriterion("ClientCode is null");
            return (Criteria) this;
        }

        public Criteria andClientcodeIsNotNull() {
            addCriterion("ClientCode is not null");
            return (Criteria) this;
        }

        public Criteria andClientcodeEqualTo(String value) {
            addCriterion("ClientCode =", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotEqualTo(String value) {
            addCriterion("ClientCode <>", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeGreaterThan(String value) {
            addCriterion("ClientCode >", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeGreaterThanOrEqualTo(String value) {
            addCriterion("ClientCode >=", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeLessThan(String value) {
            addCriterion("ClientCode <", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeLessThanOrEqualTo(String value) {
            addCriterion("ClientCode <=", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeLike(String value) {
            addCriterion("ClientCode like", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotLike(String value) {
            addCriterion("ClientCode not like", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeIn(List<String> values) {
            addCriterion("ClientCode in", values, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotIn(List<String> values) {
            addCriterion("ClientCode not in", values, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeBetween(String value1, String value2) {
            addCriterion("ClientCode between", value1, value2, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotBetween(String value1, String value2) {
            addCriterion("ClientCode not between", value1, value2, "clientcode");
            return (Criteria) this;
        }

        public Criteria andVipcardnoIsNull() {
            addCriterion("VipCardNo is null");
            return (Criteria) this;
        }

        public Criteria andVipcardnoIsNotNull() {
            addCriterion("VipCardNo is not null");
            return (Criteria) this;
        }

        public Criteria andVipcardnoEqualTo(String value) {
            addCriterion("VipCardNo =", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoNotEqualTo(String value) {
            addCriterion("VipCardNo <>", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoGreaterThan(String value) {
            addCriterion("VipCardNo >", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoGreaterThanOrEqualTo(String value) {
            addCriterion("VipCardNo >=", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoLessThan(String value) {
            addCriterion("VipCardNo <", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoLessThanOrEqualTo(String value) {
            addCriterion("VipCardNo <=", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoLike(String value) {
            addCriterion("VipCardNo like", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoNotLike(String value) {
            addCriterion("VipCardNo not like", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoIn(List<String> values) {
            addCriterion("VipCardNo in", values, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoNotIn(List<String> values) {
            addCriterion("VipCardNo not in", values, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoBetween(String value1, String value2) {
            addCriterion("VipCardNo between", value1, value2, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoNotBetween(String value1, String value2) {
            addCriterion("VipCardNo not between", value1, value2, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andActionIsNull() {
            addCriterion("Action is null");
            return (Criteria) this;
        }

        public Criteria andActionIsNotNull() {
            addCriterion("Action is not null");
            return (Criteria) this;
        }

        public Criteria andActionEqualTo(String value) {
            addCriterion("Action =", value, "action");
            return (Criteria) this;
        }

        public Criteria andActionNotEqualTo(String value) {
            addCriterion("Action <>", value, "action");
            return (Criteria) this;
        }

        public Criteria andActionGreaterThan(String value) {
            addCriterion("Action >", value, "action");
            return (Criteria) this;
        }

        public Criteria andActionGreaterThanOrEqualTo(String value) {
            addCriterion("Action >=", value, "action");
            return (Criteria) this;
        }

        public Criteria andActionLessThan(String value) {
            addCriterion("Action <", value, "action");
            return (Criteria) this;
        }

        public Criteria andActionLessThanOrEqualTo(String value) {
            addCriterion("Action <=", value, "action");
            return (Criteria) this;
        }

        public Criteria andActionLike(String value) {
            addCriterion("Action like", value, "action");
            return (Criteria) this;
        }

        public Criteria andActionNotLike(String value) {
            addCriterion("Action not like", value, "action");
            return (Criteria) this;
        }

        public Criteria andActionIn(List<String> values) {
            addCriterion("Action in", values, "action");
            return (Criteria) this;
        }

        public Criteria andActionNotIn(List<String> values) {
            addCriterion("Action not in", values, "action");
            return (Criteria) this;
        }

        public Criteria andActionBetween(String value1, String value2) {
            addCriterion("Action between", value1, value2, "action");
            return (Criteria) this;
        }

        public Criteria andActionNotBetween(String value1, String value2) {
            addCriterion("Action not between", value1, value2, "action");
            return (Criteria) this;
        }

        public Criteria andActiondateIsNull() {
            addCriterion("ActionDate is null");
            return (Criteria) this;
        }

        public Criteria andActiondateIsNotNull() {
            addCriterion("ActionDate is not null");
            return (Criteria) this;
        }

        public Criteria andActiondateEqualTo(Date value) {
            addCriterion("ActionDate =", value, "actiondate");
            return (Criteria) this;
        }

        public Criteria andActiondateNotEqualTo(Date value) {
            addCriterion("ActionDate <>", value, "actiondate");
            return (Criteria) this;
        }

        public Criteria andActiondateGreaterThan(Date value) {
            addCriterion("ActionDate >", value, "actiondate");
            return (Criteria) this;
        }

        public Criteria andActiondateGreaterThanOrEqualTo(Date value) {
            addCriterion("ActionDate >=", value, "actiondate");
            return (Criteria) this;
        }

        public Criteria andActiondateLessThan(Date value) {
            addCriterion("ActionDate <", value, "actiondate");
            return (Criteria) this;
        }

        public Criteria andActiondateLessThanOrEqualTo(Date value) {
            addCriterion("ActionDate <=", value, "actiondate");
            return (Criteria) this;
        }

        public Criteria andActiondateIn(List<Date> values) {
            addCriterion("ActionDate in", values, "actiondate");
            return (Criteria) this;
        }

        public Criteria andActiondateNotIn(List<Date> values) {
            addCriterion("ActionDate not in", values, "actiondate");
            return (Criteria) this;
        }

        public Criteria andActiondateBetween(Date value1, Date value2) {
            addCriterion("ActionDate between", value1, value2, "actiondate");
            return (Criteria) this;
        }

        public Criteria andActiondateNotBetween(Date value1, Date value2) {
            addCriterion("ActionDate not between", value1, value2, "actiondate");
            return (Criteria) this;
        }

        public Criteria andActorIsNull() {
            addCriterion("Actor is null");
            return (Criteria) this;
        }

        public Criteria andActorIsNotNull() {
            addCriterion("Actor is not null");
            return (Criteria) this;
        }

        public Criteria andActorEqualTo(String value) {
            addCriterion("Actor =", value, "actor");
            return (Criteria) this;
        }

        public Criteria andActorNotEqualTo(String value) {
            addCriterion("Actor <>", value, "actor");
            return (Criteria) this;
        }

        public Criteria andActorGreaterThan(String value) {
            addCriterion("Actor >", value, "actor");
            return (Criteria) this;
        }

        public Criteria andActorGreaterThanOrEqualTo(String value) {
            addCriterion("Actor >=", value, "actor");
            return (Criteria) this;
        }

        public Criteria andActorLessThan(String value) {
            addCriterion("Actor <", value, "actor");
            return (Criteria) this;
        }

        public Criteria andActorLessThanOrEqualTo(String value) {
            addCriterion("Actor <=", value, "actor");
            return (Criteria) this;
        }

        public Criteria andActorLike(String value) {
            addCriterion("Actor like", value, "actor");
            return (Criteria) this;
        }

        public Criteria andActorNotLike(String value) {
            addCriterion("Actor not like", value, "actor");
            return (Criteria) this;
        }

        public Criteria andActorIn(List<String> values) {
            addCriterion("Actor in", values, "actor");
            return (Criteria) this;
        }

        public Criteria andActorNotIn(List<String> values) {
            addCriterion("Actor not in", values, "actor");
            return (Criteria) this;
        }

        public Criteria andActorBetween(String value1, String value2) {
            addCriterion("Actor between", value1, value2, "actor");
            return (Criteria) this;
        }

        public Criteria andActorNotBetween(String value1, String value2) {
            addCriterion("Actor not between", value1, value2, "actor");
            return (Criteria) this;
        }

        public Criteria andTelephoneIsNull() {
            addCriterion("Telephone is null");
            return (Criteria) this;
        }

        public Criteria andTelephoneIsNotNull() {
            addCriterion("Telephone is not null");
            return (Criteria) this;
        }

        public Criteria andTelephoneEqualTo(String value) {
            addCriterion("Telephone =", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneNotEqualTo(String value) {
            addCriterion("Telephone <>", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneGreaterThan(String value) {
            addCriterion("Telephone >", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneGreaterThanOrEqualTo(String value) {
            addCriterion("Telephone >=", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneLessThan(String value) {
            addCriterion("Telephone <", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneLessThanOrEqualTo(String value) {
            addCriterion("Telephone <=", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneLike(String value) {
            addCriterion("Telephone like", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneNotLike(String value) {
            addCriterion("Telephone not like", value, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneIn(List<String> values) {
            addCriterion("Telephone in", values, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneNotIn(List<String> values) {
            addCriterion("Telephone not in", values, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneBetween(String value1, String value2) {
            addCriterion("Telephone between", value1, value2, "telephone");
            return (Criteria) this;
        }

        public Criteria andTelephoneNotBetween(String value1, String value2) {
            addCriterion("Telephone not between", value1, value2, "telephone");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}